import java.sql.SQLOutput;
import java.util.Scanner;
import java.util.Arrays;

public class Test {
    //给你一个整数数组 arr，请你判断数组中是否存在连续三个元素都是奇数的情况：如果存在，请返回 true ；否则，返回 false 。
    public static boolean threeOdd(int[] array){
        for(int i=0;i<array.length-2;i++){
            if(array[i]%2==0){
                continue;
            }else if(array[i+1]%2==0){
                i++;
                continue;
            }else if(array[i+2]%2==0){
                i++;
                i++;
                continue;
            }else{
                return true;
            }
        }
        return false;
    }
    public static void main(String[] args){
        int[] array=new int[] {2,6,4,1};
        System.out.println(threeOdd(array));
    }
    //给定一个大小为 n 的数组，找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
    public static int find(int[] array){
        for(int i=0;i<array.length;i++){
            int n=0;
            for(int j=0;j<array.length;j++){
                if(array[i]==array[j]){
                    n++;
                }
            }
            if(n>array.length/2){
                return array[i];
            }
        }
        return -1;
    }
    public static void main16(String[] args){
        int[] array=new int[] {3,2,3};
        System.out.println(find(array));
    }
    //给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
    public static int research(int[] array){
        for(int i=0;i<array.length;i++){
            int target=0;
            for(int j=0;j<array.length;j++){
                if(array[i]==array[j]&&i!=j){
                    target=1;
                }
            }
            if(target==0){
                return array[i];
            }
        }
        return -1;
    }
    public static void main15(String[] args){
        int[] array=new int[] {2,2,1};
        System.out.println(research(array));
    }
    //给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那 两个 整数，并返回它们的数组下标。
    public static int[] sum(int[] array,int target){
        int[] goal=new int[] {-1,-1};
        for(int i=0;i<array.length-1;i++){
            for(int j=i+1;j<array.length;j++){
                if(target==(array[i]+array[j])){
                    goal[0]=i;
                    goal[i]=j;
                    return goal;
                }
            }
        }
        return goal;
    }
    public static void main14(String[] args){
        int[] array=new int[] {1,4,5,8,12,24,13,16};
        int[] ant=new int[2];
        ant=sum(array,20);
        String str=Arrays.toString(ant);
        System.out.println(str);
    }
    //给定一个整型数组, 实现冒泡排序(升序排序)
    public static void bubble(int[] array){
        for(int i=0;i<array.length;i++){
            int flag=0;
            for(int j=0;j<array.length-1-i;j++){
                if(array[j]>array[j+1]){
                    int mid=array[j];
                    array[j]=array[j+1];
                    array[j+1]=mid;
                    flag=1;
                }
            }
            if(flag==0){
                return;
            }
        }
    }
    public static void main13(String[] args){
        int[] array=new int[] {1,3,2,7,4,17,14};
        bubble(array);
        String str=Arrays.toString(array);
        System.out.println(str);
    }
    //给定一个有序整型数组, 实现二分查找
    public static int binary (int[] array,int n){
        int left=0;
        int right=array.length;
        while(left<=right){
            int mid=(left+right)/2;
            if(n==array[mid]){
                return mid;
            }else if(n<array[mid]){
                right=mid-1;
            }else{
                left=mid+1;
            }
        }
        return -1;
    }
    public static void main12(String[] args){
        int[] a=new int[] {1,3,5,21,46,99};
        System.out.println(binary(a,21));

    }
    //调整数组顺序使得奇数位于偶数之前。调整之后，不关心大小顺序。
    //如数组：[1,2,3,4,5,6]
    //调整后可能是：[1, 5, 3, 4, 2, 6]
    public static void main11(String[] args){
        int[] array=new int[] {1,2,3,4,5,6};
        for(int i=0;i<array.length;i++){
            for(int j=0;j<array.length-i-1;j++){
                if(array[j]%2==0) {
                    int temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
        }
        String str=Arrays.toString(array);
        System.out.println(str);
    }
    //实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
    public static void transform(int[] array){
        for(int i=0;i< array.length;i++){
            array[i]=2*array[i];
        }
    }
    public static void main10(String[] args){
        int[] array=new int[] {1,2,3};
        transform(array);
        for(int i:array){
            System.out.println(i);
        }
    }
    //递归求解汉诺塔问题
    public static int hanoi(int n){
        if(n==1){
            return 1;
        }else{
            return 1+2*hanoi(n-1);
        }
    }
    public static void main9(String[] args){
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        System.out.println(hanoi(n));
    }
    //在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
    public static int sum(int a,int b){
        return a+b;
    }
    public static double sum(double a,double b,double c){
        return a+b+c;
    }
    public static void main8(String[] args){
        Scanner in=new  Scanner(System.in);
        int a= in.nextInt();
        int b= in.nextInt();
        double c=in.nextDouble();
        double d=in.nextDouble();
        double e=in.nextDouble();
        System.out.println(sum(a,b));
        System.out.println(sum(c,d,e));
    }
    //创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
    //要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算
    public static double max2(double a,double b){
        if(a>b){
            return a;
        }else{
            return b;
        }
    }
    public static double max3(double a,double b,double c){
        double d=max2(a,b);
        return max2(c,d);
    }
    public static void main7(String[] args){
        Scanner in =new Scanner(System.in);
        double a=in.nextDouble();
        double b=in.nextDouble();
        double c=in.nextDouble();
        System.out.println(max2(a,b));
        System.out.println(max3(a,b,c));
    }
    public static void main6(String [] args){
        //求一个整数，在内存当中存储时，二进制1的个数。
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        //方法一
        int t=0;
        int a=0;
        while(t<=31){
            if((n&1<<t)!=0){
                a++;
            }
            t++;
        }
        System.out.println(a);
        //方法二
        int b=0;
        while(n!=0){
            n=n&(n-1);
            b++;
        }
        System.out.println(b);
    }
    public static void main5(String [] args){
        //给定两个数，求这两个数的最大公约数
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        while(b!=0){
            int temp=a%b;
            a=b;
            b=temp;
        }
        System.out.println(a);
    }
    public static void main4(String [] args){
        //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
        double n=0.0;
        for(double i=1.0;i<=100.0;i+=1.0){
            if(i%2.0==0.0){
                n-=1.0/i;
            }else{
                n+=1.0/i;
            }
        }
        System.out.println(n);
    }
    public static void main3(String [] args){
        //求出0～n之间的所有“水仙花数”并输出。
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        for(int i=0;i<=n;i++){
            int a=0;
            int t=i;
            int b=0;
            while(t!=0){
                t/=10;
                b++;
            }
            int s=i;
            while(s!=0){
                int c=1;
                int d=b;
                while(d!=0){
                    c*=(s%10);
                    d--;
                }
                s/=10;
                a+=c;
            }
            if(a==i){
                System.out.println(i);
            }
        }
    }
    public static void main2(String [] args){
        //给定一个数字，判定一个数字是否是素数
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int target=0;
        for(int i=2;i<n;i++){
            if(n%i==0){
                System.out.println(n+"不是素数");
                target=1;
            }
        }
        if(target==0){
            System.out.println(n+"是素数");
        }
    }
    public static void main1(String [] args){
        //编写程序数一下 1到 100 的所有整数中出现多少个数字9
        int n=0;
        for(int i=1;i<=100;i++){
            int a=i;
            while(a!=0){
                if(a%10==9){
                    n++;
                }
                a/=10;
            }
        }
        System.out.println(n);
    }
}
